<?php

/*
  --- PROJECT COFELY 2011, StatStatistiekenRapport --
  @author: Leander Molegraaf
  @category: statistieken
  @name StatStatistiekenRapport

  @uses StatProfitcenter.php

  @version 1.2.2
  datum 21/06/2012

  BESCHRIJVING:
  Deze klasse initieert een lijst van profitcenters die op hun beurt voor elke profitcenter
  de gegevens van de afgelopen maand weergeven.
  WERKING:
  Deze klasse wordt aangeroepen met 4 waardes:
  - de statistieksoort (TBM/WPI)
  - een databaseklasse
  - de maand van het begin van de filterperiode
  - de jaar van het begin van de filterperiode

  OPMERKINGEN:
  1.1 Er wordt een al ingevulde DBklasse verwacht.

  CHANGELOG:
  1.2:
  - bestandsnamen van de statistiek beginnen allemaal met Stat
  - generateTable verwijderd

  1.2.1:
  - ontwerp geupdate
  - benamingen verduidelijkt
 * 
  1.2.2:
  - documentatie(inline/top) geupdate
  - de for-loop die de profitcenterlijst vulde stond eerst in de constructor
  maar is nu verplaatst naar een nieuwe functie fillProfitcenterLijst

 */
require_once 'defs/Constants.php';
require_once(FILE_CLASS_PROFITCENTER);

class StatProfitcenterOverzicht {

    public $profitcenterLijst; //array met Profitcenter objecten
    private $statistiekSoort; //String
    private $StatistiekDB; //klasse

    /**
     * constructor
     * @param String $statistiekSoort welke type statistiek dit is (WPI/TBM)
     * @param StatStatistiekenRapport $statistiekDB de databaseklassen
     * $param int $beginFilterPeriodeMaand de maand vanaf wanneer gefilterd moet worden
     * @param int $beginFilterPeriodeJaar de jaar vanaf wanneer gefilterd moet worden
     * @since Version 1.0
     */

    public function __construct($statistiekSoort, $StatistiekDB, $beginFilterPeriodeMaand, $beginFilterPeriodeJaar) {//String, Persoonsklasse
        $this->StatistiekDB = $StatistiekDB;
        $this->profitcenterLijst = $StatistiekDB->getLijstMetBedrijfsonderdelen();
        $this->setStatistiekSoort($statistiekSoort);

        $this->fillProfitcenterLijst($beginFilterPeriodeMaand, $beginFilterPeriodeJaar);
    }

    /**
     * functie die de profitcenterlijst vult
     * @name fillProfitcenterLijst
     * @param int $beginFilterPeriodeMaand de maand vanaf wanneer gefilterd moet worden
     * @param int $beginFilterPeriodeJaar de jaar vanaf wanneer gefilterd moet worden
     * @since 1.2.2
     * @returns void
     */
    private function fillProfitcenterLijst($beginFilterPeriodeMaand, $beginFilterPeriodeJaar) {
        for ($nummer = 0; $nummer < count($this->profitcenterLijst); $nummer++) {
            $this->profitCenterLijst[$nummer] = new StatProfitcenter($this->profitcenterLijst[$nummer], $this->getStatistiekSoort(), $this->StatistiekDB, $beginFilterPeriodeMaand, $beginFilterPeriodeJaar);
        }
    }

    public function getProfitcenterLijst() {
        return $this->profitcenterLijst;
    }

    public function getStatistiekSoort() {
        return $this->statistiekSoort;
    }

    public function setStatistiekSoort($statistiekSoort) {
        $this->statistiekSoort = $statistiekSoort;
    }

}

?>